package Solutions;

public class Solution11 {
    public static void main(String[] args) {
        Solution011 solution011=new Solution011();
        System.out.println( solution011.myAtoi("42"));
    }
}
class Solution011 {
    public int myAtoi(String str) {
        //去除空格
        str=str.trim();
        int sign=1;//作为符号
        int i=0;
        long num=0;
        //判断符号位
        if (i<str.length()&&str.charAt(i)=='-'){
            sign=-1;
            i++;
        }else {
            i++;
        }
        //当字符串不为空且为数字时
        while (i<str.length()&&Character.isDigit(str.charAt(i))){
            //判断是否越界
            if (num>Integer.MAX_VALUE/10||num==Integer.MAX_VALUE/10&&str.charAt(i)>Integer.MAX_VALUE%10){
                if (sign==1){
                    return Integer.MAX_VALUE;
                }else {
                    return Integer.MIN_VALUE;
                }
            }else {
                num=num*10+str.charAt(i)-'0';//为什么要－'0'?
            }
        }
        return sign*(int)num;//超范围了？？
    }
}